layui.config({
    base: "/infomssh/js/"
})
layui.use(['form', 'layer', 'laydate', 'table', 'upload', 'jquery_cookie'], function() {
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        laydate = layui.laydate,
        upload = layui.upload,
        table = layui.table;
    var cookie = layui.jquery_cookie();

    var tableIns = table.render({
        elem: '#moduleList',
        url: '/module/getAllModule',
        headers: { 'Authorization': "Bearer " + cookie.cookie("token") },
        page: true,
        cellMinWidth: 95,
        height: "full-104",
        limit: 20,
        limits: [10, 15, 20, 25],
        id: "moduleListTab",
        cols: [
            [
                { type: "checkbox", fixed: "left", width: 50 },
                {
                    field: 'CascadeId',
                    title: '叶子标识ID',
                    width: 100,
                    align: "center",
                },
                { field: 'Name', title: '名称', minWidth: 120 },
                {
                    field: 'Url',
                    title: '网页地址',
                    width: 180,
                    templet: function(d) {
                        return '<a class="layui-blue" href="' + d.Url + '" target="_blank">' + d.Url + '</a>';
                    }
                },
                {
                    field: 'IsRoot',
                    title: '节点类型',
                    minWidth: 100,
                    align: 'center',
                    templet: function(d) {
                        return d.IsRoot == true ? "根节点" : "叶子节点";
                    }
                },
                {
                    field: 'IconName',
                    title: 'Icon',
                    align: 'center',
                    templet: function(d) {
                        return '<i class="layui-icon" data-icon="' + d.IconName + '">' + d.IconName + '</i>'
                    }
                },
                {
                    field: 'Status',
                    title: '状态',
                    align: 'center',
                    minWidth: 100,
                    templet: function(d) {
                        return d.Status == 1 ? "启用" : "停用";
                    }
                },
                {
                    field: 'ParentName',
                    title: '父节点',
                    align: 'center',
                    minWidth: 100
                },
                {
                    title: '操作',
                    width: 130,
                    fixed: "right",
                    align: "center",
                    templet: function() {
                        return '<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>';
                    }
                }
            ]
        ]
    });

    $(".search_btn").on("click", function() {
        if ($(".searchVal").val() != '') {
            table.reload("moduleListTab", {
                page: {
                    curr: 1 //重新从第 1 页开始
                },
                where: {
                    key: $(".searchVal").val() //搜索的关键字
                }
            })
        } else {
            layer.msg("请输入搜索的内容");
        }
    });

    //添加模块
    function addModule(edit) {
        var index = layui.layer.open({
            title: "添加模块",
            type: 2,
            content: "modulesAdd.html",
            area: ['80%', '90%'],
            success: function(layero, index) {
                var body = layui.layer.getChildFrame('body', index);
                if (edit) {
                    body.find("#BackUrl").val("/module/editModule");
                    body.find("#ID").val(edit.Id);
                    body.find(".CascadeId").val(edit.CascadeId);
                    body.find(".Name").val(edit.Name);
                    body.find(".Url").val(edit.Url);
                    body.find(".IsRoot").val(edit.IsRoot == true ? '1' : '0');
                    body.find(".ParentId").val(edit.ParentId);
                    body.find(".ParentName").val(edit.ParentName);
                    body.find(".IconName").val(edit.IconName);
                    body.find(".SortNo").val(edit.SortNo);
                    body.find(".Status").val(edit.Status);
                    form.render();
                } else {
                    body.find("#BackUrl").val("/module/addModule");
                }
                setTimeout(function() {
                    layui.layer.tips('点击此处返回模块列表', '.layui-layer-setwin .layui-layer-close', {
                        tips: 3
                    });
                }, 500)
            }
        })
        layui.layer.full(index);
        //改变窗口大小时，重置弹窗的宽高，防止超出可视区域（如F12调出debug的操作）
        $(window).on("resize", function() {
            layui.layer.full(index);
        })
    }
    $(".addModule_btn").click(function() {
        addModule();
    })

    //批量删除
    $(".delAll_btn").click(function() {
        var checkStatus = table.checkStatus('userListTable'),
            data = checkStatus.data,
            newsId = [];
        if (data.length > 0) {
            for (var i in data) {
                newsId.push(data[i].newsId);
            }
            layer.confirm('确定删除选中的用户？', { icon: 3, title: '提示信息' }, function(index) {
                // $.get("删除文章接口",{
                //     newsId : newsId  //将需要删除的newsId作为参数传入
                // },function(data){
                tableIns.reload();
                layer.close(index);
                // })
            })
        } else {
            layer.msg("请选择需要删除的用户");
        }
    });


    //列表操作
    table.on('tool(moduleList)', function(obj) {
        var layEvent = obj.event,
            data = obj.data;

        if (layEvent === 'edit') { //编辑
            addModule(data);
        } else if (layEvent === 'del') { //删除
            layer.confirm('确定删除此友链？', { icon: 3, title: '提示信息' }, function(index) {
                $.ajax({
                    type: "Post",
                    url: '/module/deleteModule',
                    contentType: 'application/json;charset=utf-8',
                    data: JSON.stringify({ id: data.Id }), //用ajax时必须序列化，不能直接用对象。
                    success: function(strdata) {
                        var data;
                        if (typeof(strdata) == "string") {
                            var data = JSON.parse(strdata); //部分用户解析出来的是字符串，转换一下
                        } else {
                            data = strdata;
                        }
                        if (data.Code == 200) {
                            top.layer.msg("用户删除成功！");
                            tableIns.reload();
                        } else {
                            layer.msg(data.Message);
                        }
                        layer.close(index);
                    }
                });
            });
        }
    });
})